Page({
    data: {
      id: '',
      password: '',
      idCount:0
    },

    onLoad(){
        const myid=wx.getStorageSync('myid')
        const that=this
        wx.cloud.database().collection('user').where({
            _openid:myid
        }).get({
            success(res){
                that.setData({
                    idCount:res.data.length
                })
            }
        })
    },
    //获取输入的账号
    getID(event) {
      //console.log('账号', event.detail.value)
      this.setData({
        id: event.detail.value
      })
  
    },
    //获取输入的密码
    getPsw(event) {
      // console.log('密码', event.detail.value)
      this.setData({
        password: event.detail.value
      })
    },

    demoCheck(){

        const that=this
        const myid=wx.getStorageSync('myid')
       
        wx.cloud.database().collection('user').where({
            _openid:myid
        }).get({
            success(res){
                //检验自动登录成功后获取到的弹框信息
                const resTemp=res
                console.log("自动检索微信号登录成功",res)
                console.log("自动检索微信号登录成功",resTemp)

                console.log('检测到该微信号注册了',res.data.length,'个账号','分别未',res.data[0].id,res.data[1].id)

                that.setData({
                    idCount:res.data.length
                })


                // 查博客成功实现查询，注意map的用法
                // map 方法是 JavaScript 中数组的一种高阶函数，用于创建一个新数组，其元素是对原数组中的每个元素调用一
                //个提供的函数后的返回值。map 不会修改原数组，它会返回一个新数组
                console.log('检验对象数组的操作',res.data.map(function(item){
                    return item.id
                }))

                const idCur=res.data.map(function(item){
                    return item.id
                })
                const passwordCur=res.data.map(function(item){
                    return item.password
                })
                // wx.setStorageSync('idCount', idCur.length)
                
                //不再设置idCount为缓存内容
                //console.log("demodemo",wx.getStorageSync('idCount'))
                wx.showActionSheet({
                    itemList:idCur, //文字数组
                    success: (res) => {

                         //console.log('demoddd',res)

                         //console.log('aaa',res.tapIndex)


                         //注意：res.tapIndex是点击的那一项在上一个res的位置
                      switch(res.tapIndex) {

                        case 0:
                          console.log(idCur[res.tapIndex])
                          that.setData({
                              id:idCur[res.tapIndex],
                              password:passwordCur[res.tapIndex]
                          })
                          console.log(that.data.id)
                          console.log('点击了 选项一')
                          break;
                        case 1:
                            console.log(idCur[res.tapIndex])
                            that.setData({
                                id:idCur[res.tapIndex],
                                password:passwordCur[res.tapIndex]
                            })
                          console.log('点击了 选项二')
                          break;	
                        case 2:
                            console.log(idCur[res.tapIndex])
                            that.setData({
                                id:idCur[res.tapIndex],
                                password:passwordCur[res.tapIndex]
                            })
                          console.log('点击了 选项三')
                          break;
                        case 3:
                            console.log(idCur[res.tapIndex])
                            that.setData({
                                id:idCur[res.tapIndex],
                                password:passwordCur[res.tapIndex]
                            })
                            console.log('点击了 选项四')
                            break;
                        case 4:
                            console.log(idCur[res.tapIndex])
                            that.setData({
                                id:idCur[res.tapIndex],
                                password:passwordCur[res.tapIndex]
                            })
                            console.log('点击了 选项五')
                            break;
                        case 5:
                            console.log(idCur[res.tapIndex])
                            that.setData({
                                id:idCur[res.tapIndex],
                                password:passwordCur[res.tapIndex]
                            })
                            console.log('点击了 选项六')
                            break;
                                            
                      }
                    },
                    fail (res) {
                      console.log('取消选项',res)
                    }
                  })
               
            },
            fail(res){
                console.log("自动检索失败",res)
            }
        })
    },
    //点击登陆
    async login() {
      let id = this.data.id
      let password = this.data.password
      console.log('账号', id, '密码', password)
      if (id.length < 4) {
        wx.showToast({
          icon: 'none',
          title: '账号至少4位',
        })
        return
      }
  
      if (password.length < 4) {
        wx.showToast({
          icon: 'none',
          title: '密码至少4位',
        })
        return
      }
  
      //登陆
      //在登录过程用id是否相同来匹配数据库中的信息

      //注意此处代码有一个隐含漏洞，代码的逻辑是在id相同的情况下匹配密码相同否，
    //   如果用户为注册过就根本无法匹配用户id和数据库中的id，借鉴signUp校验账号唯一性的思路


    const myid=wx.getStorageSync('myid')
    let res1=await wx.cloud.database().collection('user').where({id:id}).get()
    console.log("点击了登录")
    console.log("res",res1)
    console.log("id", id)
    console.log("password", password)
   
    if(res1.data.length==0)
    {
        setTimeout(function(){wx.showToast({
            icon: 'none',
            title: '未注册，请先注册用户信息',
          })

          return},200 )
          wx.navigateTo({
            url: '../signUp/signUp',
          })
    }else{


  
      wx.cloud.database().collection('user').where({
        id: id
      }).get({
        success(res) {
          console.log("获取数据成功", res)
          let user = res.data[0]
          console.log("user", user)
          if (password == user.password) {
            console.log('登陆成功')
            setTimeout(function(){wx.showToast({
              title: '登陆成功',
            })},200)
            wx.switchTab({
              url: '../homePage/homePage',
            })
          
            //保存用户登陆状态
            wx.setStorageSync('user', user)
            //本地数据缓存是微信小程序提供的一个功能，从本地缓存中同步获取指定 key 对应的内容
            
          } else {
            console.log('登陆失败')
            wx.showToast({
              icon: 'none',
              title: '账号或密码不正确',
            })
          }
        },
        fail(res) {
          console.log("获取数据失败", res)
        }
      })
    }
    }
  })